home *** CD-ROM | disk | FTP | other *** search
/ Unreal Tournament Game Programming for Teens / UnrealTournamentGameProgrammingForTeens.iso / Chapter Files / Chapter08 / CommandGoalTrigger.txt < prev    next >
Encoding:
Text File  |  2006-11-01  |  1.5 KB  |  69 lines

  1. //==================================================================
  2. // CommandGoalTrigger.
  3. // See CommandGoalTrigger.txt
  4. //==================================================================
  5. class CommandGoalTrigger extends Trigger placeable;
  6.     var private string FirstMessage;
  7.  
  8.    // #1
  9.     var private CodePlay Score;
  10.     var private Story StoryToTell;
  11.     enum PState{
  12.            UP,
  13.            DOWN
  14.     }; 
  15.  
  16. function PostBeginPlay()
  17. {
  18.     // #2
  19.     Score = spawn(class'CodePlay');
  20.     Score.MakeCode();
  21.     
  22.     StoryToTell = spawn(class'Story');
  23.     StoryToTell.MakeStory();
  24.  
  25.     FirstMessage = "Go!";
  26.     Super.PostBeginPlay();
  27.     Message = FirstMessage;  
  28. }// end PostBeginPlay()
  29.  
  30. function Touch( actor Other )
  31. {
  32.     if (IsRelevant( Other ) )
  33.     {
  34.         if (Pawn(Other).bIsCrouched){ //down
  35.             Message = MakeMessage(PState.DOWN);
  36.         }//end if
  37.         else{ // up state
  38.             Message = MakeMessage(PState.UP);
  39.         }//end else
  40.  
  41.         Super.Touch(Other);
  42.     }//end outer if
  43. }// end Touch()
  44.  
  45. private function string MakeMessage(PState state){
  46.     local string ActionMessage;    
  47.     if( state == PState.UP ){
  48.        // #3
  49.        ActionMessage @= "Goal - Get down! ";  
  50.        ActionMessage @= Score.ProvideCodeMessage();
  51.     }
  52.     else if( state == PState.DOWN ){
  53.        // #4
  54.        ActionMessage @= "Goal - Get up! ";
  55.        ActionMessage @= StoryToTell.TellStory(); 
  56.     }
  57.     else {
  58.        ActionMessage = "Okay.";
  59.     }
  60.     return ActionMessage; 
  61. }
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.